package com.beans;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: fzykd
 * Date: 2022-10-01
 * Time: 19:46
 */

@Component
//随便加上其中一个注解都可以运行 毕竟Component都是父类了
public class UserBean {
    @Bean(name = "user1")
    //这个是方法注解 在两个类之间演示
    //单纯的一个Bean注解 无法获取到User1对象 因为在Spring框架设计当中 方法注解 要配合类注解才能正常的使用
    public User user1(){
        User user = new User();
        user.setId(1);
        user.setName("Java");
        return user;
    }
    //bean将一个类的对象存入多次的情况
    @Bean(name = "user2")
    public User user2(){
        User user = new User();
        user.setId(2);
        user.setName("C++");
        return user;
    }
    @Bean(name = "user3")
    @Scope("prototype") //这是修改作用域 原型模式 每次请求生产一个对象
    public User user3(){
        User user = new User();
        user.setId(2);
        user.setName("C++");
        return user;
    }
}
